#include<bits/stdc++.h> 
using namespace std;
//	输出成绩最低的男孩子和成绩最高的女孩子
//1.每个输入都有一个测试用例，每个测试用例包括一个正整数N。然后紧跟N行学生的信息，每一行
//	包括 姓名 性别 ID 成绩。其中姓名和ID都是不超过10个字符的字符串，性别是F或者M，成绩是
//	0~100的整数。保证所有成绩都是唯一的
//2.对于每个测试用例，输出3行，第一行是成绩最高的女孩子的姓名和ID，第二行是成绩最低的男
//	孩子的姓名和ID，第三行是这两人成绩的差。
//3.如果某一类人不存在，则输出Absent，差输出NA
//4.排序
struct Stu{
	string name;
	int gender;	//这里性别也作为一个整数来参与排序了，反正男的在前女的在后的话，这样也挺方便 
	string ID;
	int grade;
}; 
bool cmp(Stu a,Stu b){
	if(a.gender==b.gender){
		return a.grade<b.grade;
	}
	else{
		return a.gender<b.gender;
	}
}
int main(){
	int N;
	cin>>N;
	Stu stus[N];
	for(int i = 0;i<N;i++){
		string g;
		cin>>stus[i].name>>g>>stus[i].ID>>stus[i].grade;
		stus[i].gender = g=="M"? 0:1;
	}
	sort(stus,stus+N,cmp);
	Stu lo = stus[0];	//排序完取首尾，看性别是否一男一女，再做判断 
	Stu hi = stus[N-1];
	if(lo.gender==0 && hi.gender==1){
		cout<<hi.name<<" "<<hi.ID<<endl;
		cout<<lo.name<<" "<<lo.ID<<endl;
		cout<<hi.grade - lo.grade<<endl;
	}
	else if(lo.gender==0){
		cout<<"Absent"<<endl;
		cout<<lo.name<<" "<<lo.ID<<endl;
		cout<<"NA"<<endl;
	}
	else{
		cout<<hi.name<<" "<<hi.ID<<endl;
		cout<<"Absent"<<endl;
		cout<<"NA"<<endl;
	}
	return 0;
}